package yl.hs.bmipfull.pojo.salemanage;

import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 华砂信息-谢景广
 * @category 销售合同信息实体类
 */
@DBTable(disName = "销售合同信息", mapCode = "sale_contract")
public class SaleContractEntity extends BaseEntity {
    private Long id;
    @DBField(disName = "合同编号", mapCode = "sn", isSerialNumber = true, isRequire = true, snPrefix = "XSHT")
    private String sn;
    @DBField(disName = "合同标题", mapCode = "title")
    private String title;
    private String titlePY;
    @DBField(disName = "客户名称", mapCode = "customerName")
    private String customerName;
    private String customerSN;
    @DBField(disName = "产品类别编号", mapCode = "productCateSN")
    private String productCateSN;
    @DBField(disName = "产品类别", mapCode = "productCate")
    private String productCate;
    @DBField(disName = "合同性质", mapCode = "nature")
    private Short nature;
    @DBField(disName = "控制状态", mapCode = "controlState")
    private boolean controlState;
    @DBField(disName = "合同类型", mapCode = "contractType")
    private Short contractType;
    private String organizationSN;
    private String organizationCode;
    private Short state;
    private Short settleInterval;
    private String remark;
    @DBField(disName = "结算方式", mapCode = "channel")
    private String channel;
    private BigDecimal initialBatch;
    private BigDecimal initialMoney;
    private Date  initialDate;

    private String printTitle;

    private String filesPath;
    private String truckPlate;

    public String getTruckPlate() {
        return truckPlate;
    }

    public void setTruckPlate(String truckPlate) {
        this.truckPlate = truckPlate;
    }

    @DBField(disName = "优惠折扣", mapCode = "discount")
    private BigDecimal discount;

    public String getProductCate() {
        return productCate;
    }

    public void setProductCate(String productCate) {
        this.productCate = productCate;
    }

    public String getProductCateSN() {
        return productCateSN;
    }

    public void setProductCateSN(String productCateSN) {
        this.productCateSN = productCateSN;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    public String getFilesPath() {
        return filesPath;
    }

    public void setFilesPath(String filesPath) {
        this.filesPath = filesPath;
    }

    public String getSalerSN() {
        return salerSN;
    }

    public void setSalerSN(String salerSN) {
        this.salerSN = salerSN;
    }

    public String getSalerName() {
        return salerName;
    }

    public void setSalerName(String salerName) {
        this.salerName = salerName;
    }

    private String salerSN;

    @DBField(disName = "销售姓名", mapCode = "salerName")
    private String salerName;

    @DBField(disName = "签约单位", mapCode = "contractingUnit")
    private String contractingUnit;

    public String getContractingUnit() {
        return contractingUnit;
    }

    public void setContractingUnit(String contractingUnit) {
        this.contractingUnit = contractingUnit;
    }

    public String getSalerNamePY() {
        return salerNamePY;
    }

    public void setSalerNamePY(String salerNamePY) {
        this.salerNamePY = salerNamePY;
    }

    private String salerNamePY;

    private BigDecimal outFreight=BigDecimal.ZERO;
    private BigDecimal overageFreight=BigDecimal.ZERO;

    public BigDecimal getOutFreight() {
        return outFreight;
    }

    public void setOutFreight(BigDecimal outFreight) {
        this.outFreight = outFreight;
    }

    public BigDecimal getOverageFreight() {
        return overageFreight;
    }

    public void setOverageFreight(BigDecimal overageFreight) {
        this.overageFreight = overageFreight;
    }

    /**
     * 获取主键
     *
     * @return
     */
    public Long getId() {
        return this.id;
    }

    /**
     * 设置主键
     *
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取编号
     *
     * @return
     */
    public String getSn() {
        return this.sn;
    }

    /**
     * 设置编号
     *
     * @param sn
     */
    public void setSn(String sn) {
        this.sn = sn;
    }

    /**
     * 获取合同标题
     *
     * @return
     */
    public String getTitle() {
        return this.title;
    }

    /**
     * 设置合同标题
     *
     * @param title
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取合同标题拼音
     *
     * @return
     */
    public String getTitlePY() {
        return this.titlePY;
    }

    /**
     * 设置合同标题拼音
     *
     * @param titlePY
     */
    public void setTitlePY(String titlePY) {
        this.titlePY = titlePY;
    }

    /**
     * 获取客户名称
     *
     * @return
     */
    public String getCustomerName() {
        return this.customerName;
    }

    /**
     * 设置客户名称
     *
     * @param customerName
     */
    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 获取客户编号
     *
     * @return
     */
    public String getCustomerSN() {
        return this.customerSN;
    }

    /**
     * 设置客户编号
     *
     * @param customerSN
     */
    public void setCustomerSN(String customerSN) {
        this.customerSN = customerSN;
    }

    /**
     * 获取合同性质
     *
     * @return
     */
    public Short getNature() {
        return this.nature;
    }

    /**
     * 设置合同性质
     *
     * @param nature
     */
    public void setNature(Short nature) {
        this.nature = nature;
    }

    /**
     * 获取控制状态
     *
     * @return
     */
    public boolean isControlState() {
        return this.controlState;
    }

    /**
     * 设置控制状态
     *
     * @param controlState
     */
    public void setControlState(boolean controlState) {
        this.controlState = controlState;
    }

    /**
     * 获取合同类型
     *
     * @return
     */
    public Short getContractType() {
        return this.contractType;
    }

    /**
     * 设置合同类型
     *
     * @param contractType
     */
    public void setContractType(Short contractType) {
        this.contractType = contractType;
    }

    /**
     * 获取组织编号
     *
     * @return
     */
    public String getOrganizationSN() {
        return this.organizationSN;
    }

    /**
     * 设置组织编号
     *
     * @param organizationSN
     */
    public void setOrganizationSN(String organizationSN) {
        this.organizationSN = organizationSN;
    }

    /**
     * 获取组织代码
     *
     * @return
     */
    public String getOrganizationCode() {
        return this.organizationCode;
    }

    /**
     * 设置组织代码
     *
     * @param organizationCode
     */
    public void setOrganizationCode(String organizationCode) {
        this.organizationCode = organizationCode;
    }

    /**
     * 获取状态
     *
     * @return
     */
    public Short getState() {
        return this.state;
    }

    /**
     * 设置状态
     *
     * @param state
     */
    public void setState(Short state) {
        this.state = state;
    }

    public Short getSettleInterval() {
        return settleInterval;
    }

    public void setSettleInterval(Short settleInterval) {
        this.settleInterval = settleInterval;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public BigDecimal getInitialBatch() {
        return initialBatch;
    }

    public void setInitialBatch(BigDecimal initialBatch) {
        this.initialBatch = initialBatch;
    }

    public BigDecimal getInitialMoney() {
        return initialMoney;
    }

    public void setInitialMoney(BigDecimal initialMoney) {
        this.initialMoney = initialMoney;
    }

    public Date getInitialDate() {
        return initialDate;
    }

    public void setInitialDate(Date initialDate) {
        this.initialDate = initialDate;
    }

    public String getPrintTitle() {
        return printTitle;
    }

    public void setPrintTitle(String printTitle) {
        this.printTitle = printTitle;
    }

    private BigDecimal density = new BigDecimal(1);
    public BigDecimal getDensity() {
        return density;
    }

    public void setDensity(BigDecimal density) {
        this.density = density;
    }
    private Integer takePriceWay;//信息价取价模式 0本月 -1上个月
    public Integer getTakePriceWay() {
        return takePriceWay;
    }

    public void setTakePriceWay(Integer takePriceWay) {
        this.takePriceWay = takePriceWay;
    }
}
